import 'dart:convert';

/// id : ""
/// reportDate : "2022-09-13"
/// reportEvolve : "0"
/// tagsDay : "今天"
/// tagsMonth : "9"
/// projectId : ""
/// projectPhase : ""
/// projectName : ""
/// projectAlias : ""
/// projectPhaseCn : ""
/// phaseStatusCn : ""
/// phaseStatusUptTime : ""
/// specialType : "SPECIAL_TYPE_1"
/// specialTypeCn : "招引项目推进工作日报"
/// reportType : 2
/// reportTypeCn : ""
/// reportUserId : ""
/// reportUserName : ""
/// reportEvolveContent : ""
/// reportTime : ""
/// editReportUserId : ""
/// editReportUserName : ""
/// editReportEvolveContent : ""
/// editReportTime : ""
/// isRead : ""
/// isGenerateGatherReport : "0"
/// editUserRole : ""
/// files : ""

ReportEntity reportEntityFromJson(String str) => ReportEntity.fromJson(json.decode(str));
String reportEntityToJson(ReportEntity data) => json.encode(data.toJson());
class ReportEntity {
  ReportEntity({
      this.id, 
      this.reportDate, 
      this.reportEvolve, 
      this.tagsDay, 
      this.tagsMonth, 
      this.projectId, 
      this.projectPhase, 
      this.projectName, 
      this.projectAlias, 
      this.projectPhaseCn, 
      this.phaseStatusCn, 
      this.phaseStatusUptTime, 
      this.specialType, 
      this.specialTypeCn, 
      this.reportType, 
      this.reportTypeCn, 
      this.reportUserId, 
      this.reportUserName, 
      this.reportEvolveContent, 
      this.reportTime, 
      this.editReportUserId, 
      this.editReportUserName, 
      this.editReportEvolveContent, 
      this.editReportTime, 
      this.isRead, 
      this.isGenerateGatherReport, 
      this.editUserRole, 
      this.files,});

  ReportEntity.fromJson(dynamic json) {
    id = json['id'];
    reportDate = json['reportDate'];
    reportEvolve = json['reportEvolve'];
    tagsDay = json['tagsDay'];
    tagsMonth = json['tagsMonth'];
    projectId = json['projectId'];
    projectPhase = json['projectPhase'];
    projectName = json['projectName'];
    projectAlias = json['projectAlias'];
    projectPhaseCn = json['projectPhaseCn'];
    phaseStatusCn = json['phaseStatusCn'];
    phaseStatusUptTime = json['phaseStatusUptTime'];
    specialType = json['specialType'];
    specialTypeCn = json['specialTypeCn'];
    reportType = json['reportType'];
    reportTypeCn = json['reportTypeCn'];
    reportUserId = json['reportUserId'];
    reportUserName = json['reportUserName'];
    reportEvolveContent = json['reportEvolveContent'];
    reportTime = json['reportTime'];
    editReportUserId = json['editReportUserId'];
    editReportUserName = json['editReportUserName'];
    editReportEvolveContent = json['editReportEvolveContent'];
    editReportTime = json['editReportTime'];
    isRead = json['isRead'];
    isGenerateGatherReport = json['isGenerateGatherReport'];
    editUserRole = json['editUserRole'];
    files = json['files'];
  }
  String? id;
  String? reportDate;
  String? reportEvolve;
  String? tagsDay;
  String? tagsMonth;
  String? projectId;
  String? projectPhase;
  String? projectName;
  String? projectAlias;
  String? projectPhaseCn;
  String? phaseStatusCn;
  String? phaseStatusUptTime;
  String? specialType;
  String? specialTypeCn;
  num? reportType;
  String? reportTypeCn;
  String? reportUserId;
  String? reportUserName;
  String? reportEvolveContent;
  String? reportTime;
  String? editReportUserId;
  String? editReportUserName;
  String? editReportEvolveContent;
  String? editReportTime;
  String? isRead;
  String? isGenerateGatherReport;
  String? editUserRole;
  String? files;
ReportEntity copyWith({  String? id,
  String? reportDate,
  String? reportEvolve,
  String? tagsDay,
  String? tagsMonth,
  String? projectId,
  String? projectPhase,
  String? projectName,
  String? projectAlias,
  String? projectPhaseCn,
  String? phaseStatusCn,
  String? phaseStatusUptTime,
  String? specialType,
  String? specialTypeCn,
  num? reportType,
  String? reportTypeCn,
  String? reportUserId,
  String? reportUserName,
  String? reportEvolveContent,
  String? reportTime,
  String? editReportUserId,
  String? editReportUserName,
  String? editReportEvolveContent,
  String? editReportTime,
  String? isRead,
  String? isGenerateGatherReport,
  String? editUserRole,
  String? files,
}) => ReportEntity(  id: id ?? this.id,
  reportDate: reportDate ?? this.reportDate,
  reportEvolve: reportEvolve ?? this.reportEvolve,
  tagsDay: tagsDay ?? this.tagsDay,
  tagsMonth: tagsMonth ?? this.tagsMonth,
  projectId: projectId ?? this.projectId,
  projectPhase: projectPhase ?? this.projectPhase,
  projectName: projectName ?? this.projectName,
  projectAlias: projectAlias ?? this.projectAlias,
  projectPhaseCn: projectPhaseCn ?? this.projectPhaseCn,
  phaseStatusCn: phaseStatusCn ?? this.phaseStatusCn,
  phaseStatusUptTime: phaseStatusUptTime ?? this.phaseStatusUptTime,
  specialType: specialType ?? this.specialType,
  specialTypeCn: specialTypeCn ?? this.specialTypeCn,
  reportType: reportType ?? this.reportType,
  reportTypeCn: reportTypeCn ?? this.reportTypeCn,
  reportUserId: reportUserId ?? this.reportUserId,
  reportUserName: reportUserName ?? this.reportUserName,
  reportEvolveContent: reportEvolveContent ?? this.reportEvolveContent,
  reportTime: reportTime ?? this.reportTime,
  editReportUserId: editReportUserId ?? this.editReportUserId,
  editReportUserName: editReportUserName ?? this.editReportUserName,
  editReportEvolveContent: editReportEvolveContent ?? this.editReportEvolveContent,
  editReportTime: editReportTime ?? this.editReportTime,
  isRead: isRead ?? this.isRead,
  isGenerateGatherReport: isGenerateGatherReport ?? this.isGenerateGatherReport,
  editUserRole: editUserRole ?? this.editUserRole,
  files: files ?? this.files,
);
  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['id'] = id;
    map['reportDate'] = reportDate;
    map['reportEvolve'] = reportEvolve;
    map['tagsDay'] = tagsDay;
    map['tagsMonth'] = tagsMonth;
    map['projectId'] = projectId;
    map['projectPhase'] = projectPhase;
    map['projectName'] = projectName;
    map['projectAlias'] = projectAlias;
    map['projectPhaseCn'] = projectPhaseCn;
    map['phaseStatusCn'] = phaseStatusCn;
    map['phaseStatusUptTime'] = phaseStatusUptTime;
    map['specialType'] = specialType;
    map['specialTypeCn'] = specialTypeCn;
    map['reportType'] = reportType;
    map['reportTypeCn'] = reportTypeCn;
    map['reportUserId'] = reportUserId;
    map['reportUserName'] = reportUserName;
    map['reportEvolveContent'] = reportEvolveContent;
    map['reportTime'] = reportTime;
    map['editReportUserId'] = editReportUserId;
    map['editReportUserName'] = editReportUserName;
    map['editReportEvolveContent'] = editReportEvolveContent;
    map['editReportTime'] = editReportTime;
    map['isRead'] = isRead;
    map['isGenerateGatherReport'] = isGenerateGatherReport;
    map['editUserRole'] = editUserRole;
    map['files'] = files;
    return map;
  }

}